#ifndef ENEMY_H
#define ENEMY_H

#include <SDL.h>

#define WEREWOLF_SPEED 100
#define WEREWOLF_ESCAPE_SPEED 1000
#define WEREWOLF_STUN_TIME 500
#define WEREWOLF_SCORE 500
enum EnemyType{
    WEREWOLF,
    ZOMBIE,
    GHOST
};
class Enemy{
protected:
    enum State{
        APPROACHING,
        STUNNED,
        SCARED
    };
public:
    EnemyType type;
    float x;
    float prevx;
    float y;
    float prevy;
    float vx;
    float vy;
    int height;
    int width;
    int score;
    Uint32 animationtimer;
    SDL_Surface* currentanimation;
    SDL_Surface* mugshot;
    bool deleteflag;
    State state;
    int stuntime;

    Enemy():mugshot(0),deleteflag(false){}
    virtual ~Enemy(){}
    virtual void Update(Uint32 elapsedtime, double angle, bool lightstate, int mousex, int mousey)=0;
    virtual void Draw(Uint32 elapsedtime)=0;
    virtual SDL_Surface* GetMugshot()=0;
};
#endif
